import java.util.ArrayList;
import java.util.List;
//默认情况下，ArrayList 会使用一个初始容量来开始存储元素，通常是 10。
//ArrayList 的内部数组在初始化时不会为元素赋值，而是会根据所存储的类型的默认值进行初始化。
//对象类型（如 Integer）的默认值为 null，而不是 0。
//ArrayList 的泛型 只能是对象类型，不能是 基本数据类型。
public class Test {


    public static void main(String[] args) {
        List<String> list=new ArrayList<>();
        ArrayList<Integer> arrayList=new ArrayList<>();

        // 新增元素,默认在数组最后新增
        arrayList.add(10);
        System.out.println(arrayList);
        // 在 pos 位置新增元素
        arrayList.add(1,20);
        System.out.println(arrayList);
        // 判定是否包含某个元素
        System.out.println(arrayList.contains(10));
        // 查找某个元素对应的位置
        System.out.println(arrayList.indexOf(10));
        // 获取 pos 位置的元素
        System.out.println(arrayList.get(1));
        // 给 pos 位置的元素设为 value
        arrayList.set(1,30);
        System.out.println(arrayList);
        //删除第⼀次出现的关键字key(实参为下标)
        arrayList.remove(1);
        System.out.println(arrayList);
        // 获取顺序表⻓度
        System.out.println(arrayList.size());
        // 清空顺序表
        arrayList.clear();
        System.out.println(arrayList);

        //ArrayList 是一个 动态数组，它的 初始容量 默认为 10
        //但是这并不意味着它已经有 10 个元素。容量和元素的数量是不同的。
        //
        //即使 ArrayList 的容量默认为 10，实际上它的 元素数量 可能小于 10。
        // 例如，如果你没有向 ArrayList 中添加 10 个元素，而只有 5 个元素，
        // 那么 arrayList.get(9) 就会抛出异常，因为 索引 9 超出了当前的元素数量。

//        System.out.println(arrayList.get(9)); //报错
    }
}
